/*
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved.
 */
package com.icinfo.cloud.provider.punish.service;

import com.icinfo.cloud.provider.punish.config.dto.RelationWorkflowInfoRequest;
import com.icinfo.cloud.provider.punish.config.model.ConfigBusiParamDocumentInfo;
import com.icinfo.cloud.provider.punish.config.model.ConfigBusiParamMain;
import com.icinfo.cloud.provider.punish.dto.ConfigBusiParamDocumentInfoRequest;
import com.icinfo.framework.core.service.BaseService;

import java.util.List;

/**
 * 描述: 业务关联文书配置 config_busi_param_document_info 对应的Service接口.<br>
 *
 * @author framework generator
 * @date 2022年02月22日
 */
public interface IConfigBusiParamDocumentInfoService extends BaseService {
    /**
     * 根据文书目录获取详情
     * @author liyafeng
     * @date 2022/2/25
      * @param documentCatalogCode
     * @return {@link ConfigBusiParamDocumentInfo}
     */
    ConfigBusiParamDocumentInfo getDetailByDocumentCatalogCode(String documentCatalogCode);
    /**
     * 获取参数配置信息
     *
     * @param request 请求
     * @return {@link List <ConfigBusiParamMain> }
     * @author shishengyao
     * @date 2022/05/18
     */
    ConfigBusiParamMain getConfigBusiParamMain(RelationWorkflowInfoRequest request);

    /**
     * 根据需送达文书目录编码获取送达回证配置详情
     *
     * @param sentDocumentCatalogCode
     * @return {@link ConfigBusiParamDocumentInfo}
     * @author zhengqiang
     * @date 2022/10/26
     */
    ConfigBusiParamDocumentInfo getSDHZDetailBySentDocumentCatalogCode(String sentDocumentCatalogCode);

    /**
     * 描述：根据业务参数id和文书种类code查询文书配置信息
     *
     * @param busiParamId      商业参数id
     * @param documentKindCode 文件类型代码
     * @param applyGroup       应用组
     * @return {@link ConfigBusiParamDocumentInfo }
     * @author shishengyao
     * @date 2023/02/28
     */
    ConfigBusiParamDocumentInfo getDocumentInfoByDocumentKindCode(String busiParamId,String documentKindCode,String applyGroup);

    /**
     * 查询文书配置集合
     *
     * @param request 查询参数
     * @return 文书配置集合
     * @Author Junfeng.Chen
     * @date 2023/12/18
     */
    List<ConfigBusiParamDocumentInfo> selectList(ConfigBusiParamDocumentInfoRequest request);
}
